/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有，侵权必究！
 */

package io.renren.modules.app.service.company;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.modules.app.entity.company.CompanyEntity;
import io.renren.modules.app.entity.company.YcCompanyEntity;
import io.renren.modules.app.entity.company.YcRecordRecruitEntity;
import io.renren.modules.app.entity.index.IndexRecruitEntity;
import io.renren.modules.app.entity.index.YcRecruitEntity;
import io.renren.modules.app.form.LoginForm;

import java.util.List;
import java.util.Map;

/**
 * @author lym
 * @email 928185446qq.com
 */
public interface CompanyUserService extends IService<CompanyEntity> {

//	UserEntity queryByUserName(String username);
	int insert(CompanyEntity user);//新增，int类型
	/**
	 * 用户登录
	 * @param form    登录表单
	 * @return        返回用户ID
	 */
	long login(LoginForm form);


	/**
	 * 用户登录
	 * @param    登录表单
	 * @return        返回用户ID
	 */
	Map<String,Object> login(Map<String, Object> map);

	/**
	 * 获取年限数据
	 */
	JSONArray getWorkYearDict();//json的数组

	/**
	 * 获取规模数据
	 */
	JSONArray getScaleDict();

	/**
	 * 获取年限数据
	 */
	JSONArray getEduBgdDict();

	/**
	 * 获取职位种类
	 */
	JSONArray getPositionTypeDict();

	/**
	 * 获取职位类型
	 */
	JSONArray getRecruitType();

	/**
	 * 获取职位价格
	 */
	JSONArray getRecruitSalary();

	/**
	 * 获取城市
	 */
	JSONArray getRegion();

	/**
	 * 新增企业数据
	 */
	YcCompanyEntity insertYcCompanyData(YcCompanyEntity company);

	/**
	 * 修改企业数据
	 */
	boolean updateYcCompanyData(YcCompanyEntity company);

	/**
	 * 新增企业人员
	 */
	boolean insertYcCompanyUserData(CompanyEntity company);

	/**
	 * 修改企业人员
	 */
	boolean updateYcCompanyUserData(CompanyEntity company);

	/**
	 * 新增职位信息
	 */
	boolean insertYcRecruitData(YcRecruitEntity recruitEntity);

	/**
	 * 查询职位列表
	 */
	List<YcRecruitEntity> selectRecruitList(YcRecruitEntity recruitEntity);

	/**
	 * 更新状态
	 */
	boolean updateRecruitStatus(String recruitId, String status);

	/**
	 * 更新竞价记录表数据状态
	 */
	boolean updateRecordRecruitStatus(String recruitId, boolean bool);

	/**
	 * 查询职位招聘信息
	 */
	YcRecruitEntity getRecruitData (String id);

	/**
	 * 查询职位招聘信息
	 */
	boolean updateRecruitBid (String id, String bid);

	/**
	 * 获取企业数据
	 */
	YcCompanyEntity getCompanyData(String id);

	/**
	 * 刷新竞价时间
	 */
	boolean reloadRecruitData(String id);

	/**
	 * 通过职位编号获取竞价相关数据
	 */
	JSONObject getBidRecruitData(String id, String bidPriceRecuritId);

	boolean updateRecruitData(YcRecruitEntity recruitEntity);

	boolean deleteBidRecruitData(Integer companyId);

	boolean updateRecruitBidData(YcRecordRecruitEntity recruitEntity);

	List<IndexRecruitEntity> selectRecruitCompanyBidData();


	/**
	 * 获取招聘人信息
	 */
	CompanyEntity getCompanyUserData(String id);

	/**
	 * 更新公司竞价数据
	 */
	boolean updateCompanyPoints(String id, Integer points);
}
